package cn.quang.search.admin.entity.po;

import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * @author 
 * 逻辑表自定义字典配置
 */
@Data
public class EntityLogicTableFieldDic implements Serializable {
    /**
     * 主键ID
     */
    private Long id;

    /**
     * 数据表配置ID
     */
    private Long logicTableId;

    /**
     * 指定该字段关联到哪个通用字段上（数据表字典必须关联到通用字段上）
     */
    private Long fieldDicId;

    /**
     * 字段名（表列名）
     */
    private String dic;

    /**
     * 数据表字段原始名
     */
    private String name;

    /**
     * 发起查询时该字段的数据类型
     */
    private Integer queryFieldType;

    /**
     * 返回结果时该字段的数据类型
     */
    private Integer resultFieldType;

    /**
     * 用于设置如果数据表中该字段为NULL时，需要设置的默认值（默认为对应类型的初始值，比如：Integer的默认值为0，String的默认值为「""(空字符串)」)
     */
    private String resultFieldDefaultValue;

    /**
     * 当该字段使用In查询时，是否替换为InTerms查询（MySQL数据源下的表不存在该配置，某些情况下ES使用InTerms查询会更快，默认为false）
     */
    private Boolean inTerms;

    /**
     * 是否支持查询
     */
    private Boolean supportQuery;

    /**
     * 字段是否支持排序（也就是说，该字段是否可用作order by中语句的一部分）
     */
    private Boolean supportSort;

    /**
     * 创建人
     */
    private String creatorId;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 修改人ID
     */
    private String modifierId;

    /**
     * 修改时间
     */
    private Date modifyTime;

    private static final long serialVersionUID = 1L;
}